#ifndef _FSMODEL_H_
#define _FSMODEL_H_

#include "AEEVectorModel.h"
#include "node.h"

enum 
{
	EVT_MDL_LOADED = EVT_MDL_DEV_START+1,
};

typedef struct IFSModel IFSModel;
#define INHERIT_IFSModel(iname) \
	INHERIT_IVectorModel(iname);\
	void (*SetPathList)(iname *po, char **path); \
	void (*SetActionList)(iname *po, uint16 *actions, char *resFileName); \
	void (*LoadImages)(iname *po, int startIndex, int count)

AEEINTERFACE(IFSModel) {
	INHERIT_IFSModel(IFSModel);
};

#define IFSMODEL_SetPathList(p,path) AEEGETPVTBL((p),IFSModel)->SetPathList(p, path)
#define IFSMODEL_SetActionList(p,actions,fname) AEEGETPVTBL((p),IFSModel)->SetActionList(p,actions,fname)
#define IFSMODEL_LoadImages(p,index,count) AEEGETPVTBL((p),IFSModel)->LoadImages(p,index,count)
#define IFSMODEL_SetFlags(p,flags) AEEGETPVTBL((p),IFSModel)->SetFlags(p, flags)
#define IFSMODEL_GetFlags(p) AEEGETPVTBL((p),IFSModel)->GetPath(p)

int FSModel_New(IFSModel **ppo, IShell *shell, IModule *module);

#endif //_FSMODEL_H_